/**
 * 
 */
// 涉及的表名
const dbName = require("../config.js");

const sysId = "001";

var dao = {};
var util = {};
// 初始化
dao.init = function(obj) {
	util = obj;
}
/**
 * 查
 * @params {Object} fieldJson 字段显示规则
 * 调用示例
 * let sysData = await vk.daoCenter.sysDataDao.find();
 */
dao.find = async (fieldJson) => {
	let { vk, db, _ } = util;
	let res = {};
	// 数据库操作开始-----------------------------------------------------------
	res = await vk.baseDao.findById({
		dbName: dbName.sysData,
		id:sysId,
		fieldJson
	});
	// 数据库操作结束-----------------------------------------------------------
	return res;
};


/**
 * 获取自增后的数据
 * 调用示例
let incId = await vk.daoCenter.sysDataDao.inc("user_inc_id");
 */
dao.inc = async (keyName) => {
	let { vk, db, _ } = util;
	// 数据库操作开始-----------------------------------------------------------
	let res = await vk.baseDao.updateAndReturn({
		dbName: dbName.sysData,
		whereJson:{
			_id: sysId,
		},
		dataJson:{
			[keyName]:_.inc(1)
		}
	});
	// 数据库操作结束-----------------------------------------------------------
	return res[keyName];
};

module.exports = dao;
